package master

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
)

var G_config *Config

// Config 程序配置
type Config struct {
	ApiPort               int      `json:"apiPort"`
	ApiReadTimeout        int      `json:"apiReadTimeout"`
	ApiWriteTimeout       int      `json:"apiWriteTimeout"`
	EtcdEndpoints         []string `json:"etcdEndpoints"`
	EtcdDialTimeout       int      `json:"etcdDialTimeout"`
	Webroot               string   `json:"webroot"`
	MongodbUri            string   `json:"mongodbUri"`
	MongodbConnectTimeout int      `json:"mongodbConnectTimeout"`
}

// InitConfig 加载配置
func InitConfig(filename string) error {
	//配置文件读取
	file, err := ioutil.ReadFile(filename)
	if err != nil {
		fmt.Println("读取配置文件失败", err)
		return err
	}

	conf := Config{}
	//json反序列化
	err = json.Unmarshal(file, &conf)
	if err != nil {
		fmt.Println("json序列化失败", err)
		return err
	}

	G_config = &conf
	return nil
}
